#include <iostream>
#include "utils/HardwareInfo.h"

int main() {
    std::cout << "Testing Hardware ID Detection\n";
    std::cout << "==============================\n\n";
    
    std::string device_id = ems::utils::HardwareInfo::getDeviceId();
    std::cout << "Device ID: " << device_id << "\n";
    std::cout << "MQTT gwId will be: ems-" << device_id << "\n\n";
    
    std::cout << "Detailed Information:\n";
    std::cout << "---------------------\n";
    
    std::string mac = ems::utils::HardwareInfo::getMacAddress();
    if (!mac.empty()) {
        std::cout << "MAC Address: " << mac << "\n";
    }
    
    std::string cpu_id = ems::utils::HardwareInfo::getCpuId();
    if (!cpu_id.empty()) {
        std::cout << "CPU/Hardware ID: " << cpu_id << "\n";
    }
    
    std::string machine_id = ems::utils::HardwareInfo::getMachineId();
    if (!machine_id.empty()) {
        std::cout << "Machine ID: " << machine_id << "\n";
    }
    
    std::string sys_uuid = ems::utils::HardwareInfo::getSystemUUID();
    if (!sys_uuid.empty()) {
        std::cout << "System UUID: " << sys_uuid << "\n";
    }
    
    return 0;
}